#ifndef __NODE_H
#define __NODE_H

class Node
{
	private:
		int x;
		int y;
	
		float f;
		float g;
		float h;
		
		Node* parent;
		
		
	public:
		Node();
		Node(int, int);
		bool lessThanByF (Node& other);
		bool greaterThanByF (Node& other);
		bool equalByF (Node& other);
		bool lessThanByXY (int x, int y);
		bool greaterThanByXY (int x, int y);
		bool equalByXY (int x, int y);
		bool sameCoordinates(Node* node);
		int getSuccessors(Node* parentNode);
		void printInfo();
		void setX(int _x);
		void setY(int _y);
		void setF(float _f);
		void setG(float _g);
		void setH(float _h);
		int getX();
		int getY();
		float getF();
		float getG();
		float getH();
		Node* getParent();
		void setParent(Node* node);
};

#endif